ФТ (Функциональные требования)
Функциональные требования (ФТ) описывают конкретные функции, операции и возможности системы, которые должна выполнять система.
Функциональные требования отвечают на вопрос "Что должна делать система?"
- Система должна оповещать пользователя о новых списаниях
- Система должна предоставлять возможность выбрать ближайшую машину на карте
- Клиент может выбрать способ оплаты заказа: наличными или по карте
- Система должна предоставлять возможность совершать перевод между счетами
- Клиент может отслеживать доставку по карте
Функциональные требования (Functional Requirements) - это требования к системе или её элементам, определяющие их задачи или функции, которые должны выполняться.
Требования, выведенные из сценариев использования, сценариев взаимодействия - user stories, use cases. ФТ определяют, что система должна делать, какие операции она должна поддерживать и какие результаты она должна предоставлять.
Синтаксис требования (Requirement Syntax)
- [Субъект] [Действие] [Значение]
Пример по синтаксису
- Учетная система [Субъект] должна отображать неоплаченные счета [Действие] в порядке возрастания [Значение], в котором счета должны быть оплачены.
Примеры функциональных требований
-
Система обрабатывает заявки на заказы. Приходит заказ, система присваивает ему номер и на выходе выдает список заказов.
-
Система должна предоставлять возможность пользователям регистрироваться, вводя свои данные, такие как имя, адрес электронной почты и пароль.
-
Система должна предоставлять возможность поиска товаров по различным критериям, таким как категория, цена и рейтинг.
Синтаксис ФТ можно выбрать любой - он зависит от требований, которые необходимо разработать.
Функциональные и нефункциональные требования
https://systems.education/functional_requirements_in_usecases
Функциональные требования описывают конкретные действия и операции, которые система должна выполнять для удовлетворения потребностей пользователей.
Эти требования помогают понять, что требуется реализовать, как реализовать и как обеспечить соответствие ожиданиям заказчиков.
Основные артефакты требований
Итак, резюмируем основные артефакты требований.
Термины "система" и "программный продукт" используются как синонимы.
Артефакт - продукт / результат деятельности, связанный с описанием системы.
Может означать:
- вспомогательное описание частей программного продукта
- описание чего-либо на уровне реализации
- документ, чертёж, схема, рисунок или любая другая документация
Спецификация - описание того, что должно быть реализовано.
Требование - спецификация того, что должно быть реализовано и проверяемое утверждение.
Спецификация требований - документ, в котором собраны и уточнены требования.
По сути - это техническое задание.
Актор - участник, который взаимодействует с системой для достижения своих целей.
Предметная область (домен) - реальный мир, который мы автоматизируем.
Это набор правил, сущностей, процессов и участников.
Сущность - объект предметной области, о котором система хранит данные.
Ценность (business value) - измеримая польза для бизнеса или пользователя.
Use Case (диаграмма / сценарий) - описание взаимодействия акторов с системой для достижения результата.
Функциональные требования - описание функций системы, которые приводят к результату.
Нефункциональные требования - требования к качеству системы: производительность, безопасность, ограничения и т.д.
Проект - ограниченное во времени мероприятие, направленное на создание продукта.
Бизнес-требования - описание целей проекта и ожидаемой пользы.
ERD / модель данных - описание сущностей, их атрибутов и связей.
UML - стандартный язык моделирования для описания системы (Use Case, Sequence, Activity и др.).
BPMN - нотация для описания бизнес-процессов.
Таблица артефактов
| Артефакт | Что это / Назначение | Состав | Когда использовать |
|---|---|---|---|
| Функциональные требования | Описание поведения системы | Сценарии, API, UI | Когда описываешь поведение |
| Нефункциональные требования | Качество и ограничения | Производительность, безопасность | Для ограничений системы |
| Бизнес-требования | Цели и ценность | Цели, риски | В начале проекта |
| Use Case | Сценарии использования | Акторы, потоки | Для логики взаимодействия |
| User Story | Короткое описание | "как роль хочу..." | Для быстрой постановки задач |
| ERD | Модель данных | Атрибуты, связи | Для БД |
| UML | Диаграммы | Разные типы диаграмм | Для описания системы |
| BPMN | Бизнес-процессы | События, задачи | Для процессов |
Не переживайте на счёт всех неизвестных вам слов, вы ничего не пропустили, все эти термины будут расписаны и объяснены позже (ну... как минимум все основные уж точно)